home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / mail / mh / updates / aix.mh-6.7.2 < prev    next >
Encoding:
Text File  |  1992-10-25  |  17.3 KB  |  731 lines

  1.  
  2.           Patches to MH 6.7.2 for IBM AIX 3.2
  3.                  Bill Wohler
  4.  
  5.  
  6. 1. History: These patches were originally posted by Steven Lebowitz
  7.    <lebowits@nova.bet.ibm.com> and I made some modifications for
  8.    6.7.1.  Ed Anselmo <anselmo@nic.near.net> and I modified them to
  9.    work on MH 6.7.2 on AIX 3.2.
  10.  
  11.    AIX support should appear in MH 6.7.3, which is planned to be
  12.    released by the end of '92.
  13.  
  14. 2. To apply this patch:
  15.  
  16.    cd to the top of the source tree and do:
  17.  
  18.     patch -p1 -s < aix.mh-6.7.2
  19.  
  20.    Patch will work silently unless an error occurs.  You will likely
  21.    get the following warning messages, which can be ignored:
  22.  
  23.     mkdir: cannot create config.
  24.     config: File exists
  25.     mkdir: cannot create sbr.
  26.     sbr: File exists
  27.  
  28.    If you want to watch patch do its thing, leave out the "-s"
  29.    argument to patch.
  30.  
  31.    Finally, to rebuild after applying this patch, do:
  32.  
  33.     % cd conf
  34.     % make
  35.     % ./mhconfig MH
  36.     % cd ..
  37.     % make >& Makelog
  38.     % make inst-all
  39.  
  40. 3. When installing new MH patches, back out these patches first (patch
  41.    -p1 -R -s < aix.mh-6.7.2).
  42.  
  43. 4. my MH file:
  44.  
  45. bin        /usr/local/bin/mh
  46. ldoptions    -s
  47. manuals        local
  48. mts        sendmail/smtp
  49. options        ATHENA BIND DBM ISI MHRC
  50. options        TYPESIG='void' SYS5 SYS5DIR SOCKETS
  51. options        MHE
  52. curses        -lcurses
  53. sprintf        int
  54.  
  55. 5. fix permissions.
  56.  
  57. #! /bin/sh
  58. # Run this script as root after installation on AIX systems.
  59. # Otherwise slocal and inc will *not* work.
  60. chgrp mail /usr/local/lib/mh/slocal /usr/local/bin/mh/inc
  61. chmod g+s /usr/local/lib/mh/slocal /usr/local/bin/mh/inc
  62.  
  63. 6. Please contact Bill Wohler <wohler@sap-ag.de> if you have any
  64.    questions regarding these patches.
  65.  
  66. *** mh-6.7/conf/mhconfig.c    Mon Jan 27 12:34:35 1992
  67. --- mh-6.7.new/conf/mhconfig.c    Thu Aug  6 15:18:19 1992
  68. ***************
  69. *** 570,576 ****
  70.       }
  71.       break;
  72.       }
  73. !     if ((config = *vec++) == NULL || *vec != NULL)
  74.       adios (NULLCP, "usage: %s file", myname);
  75.  
  76.       if ((fp = fopen (config, "r")) == NULL)
  77. --- 570,576 ----
  78.       }
  79.       break;
  80.       }
  81. !     if ((config = *vec++) == NULL && *vec != NULL)
  82.       adios (NULLCP, "usage: %s file", myname);
  83.  
  84.       if ((fp = fopen (config, "r")) == NULL)
  85. *** mh-6.7/conf/config/mts.c    Thu Feb 14 18:18:22 1991
  86. --- mh-6.7.new/conf/config/mts.c    Fri Aug  7 11:02:42 1992
  87. ***************
  88. *** 43,49 ****
  89. --- 43,51 ----
  90.   #define    rindex    strrchr
  91.   #endif    SYS5
  92.  
  93. + #ifndef _AIX
  94.   char   *index (), *malloc (), *mktemp (), *rindex (), *strcpy ();
  95. + #endif
  96.  
  97.   struct passwd  *getpwuid ();
  98.  
  99. ***************
  100. *** 292,298 ****
  101. --- 294,304 ----
  102.           grot ('t', '\t');
  103.   #undef    grot
  104.  
  105. + #ifdef _AIX
  106. +         case '\0': s--;
  107. + #else
  108.           case NULL: s--;
  109. + #endif
  110.           case QUOTE:
  111.               *bp = QUOTE;
  112.               break;
  113. *** mh-6.7/conf/config/mtstailor    Thu Jun 15 16:10:12 1989
  114. --- mh-6.7.new/conf/config/mtstailor    Mon Jan 28 14:45:47 1991
  115. ***************
  116. *** 1,4 ****
  117. ! mmdfldir:    @(MHDROPATH)
  118. ! mmdflfil:    @(MHDROPFIL)
  119.   hostable:    @(MHETCPATH)/hosts
  120. ! servers:    localhost \01localnet
  121. --- 1,12 ----
  122. ! mmdfldir:    /usr/mail
  123. ! mmdflfil:
  124. ! uucpldir:    /usr/mail
  125. ! uucplfil:
  126. ! mmdelim1:    \001\001\001\001\n
  127. ! mmdelim2:    \001\001\001\001\n
  128. ! mmailid:    0
  129. ! umincproc:
  130. ! lockldir:
  131. !
  132.   hostable:    @(MHETCPATH)/hosts
  133. ! sendmail:    /usr/local/lib/mail/local_sendmail
  134. *** mh-6.7/config/version.sh    Thu Jan 30 17:20:46 1992
  135. --- mh-6.7.new/config/version.sh    Fri Aug  7 11:09:50 1992
  136. ***************
  137. *** 38,63 ****
  138.  
  139.   rm -f version.c
  140.  
  141. ! cat version ${Patch} |\
  142. ! awk -F. '
  143. ! BEGIN    { split ("'"${1}"'", ver, ".");\
  144. !       major = ver[1]; minor = ver[2]; patch = ver[3]} \
  145. ! NR == 1 { local = $(NF) } ;\
  146. ! NR == 2 { patch = $(NF) } ;\
  147. ! END    { local++;\
  148. !       if (patch > 0) {\
  149. !       printf "char *version = \"@(#)MH %s.%s.%s #%d[UCI] ", \
  150. !         major, minor, patch, local > "version.c"; \
  151. !       printf ".ds MH %s.%s.%s #%d[UCI]\n", \
  152. !         major, minor, patch, local > "../doc/version.rf"; \
  153. !       printf "MH %s.%s.%s #%d[UCI]\n", major, minor, patch, local ;\
  154. !     } else {\
  155. !       printf "char *version = \"@(#)MH %s.%s #%d[UCI] ", \
  156. !         major, minor, local > "version.c"; \
  157. !       printf ".ds MH %s.%s #%d[UCI]\n", \
  158. !         major, minor, local > "../doc/version.rf"; \
  159. !       printf "MH %s.%s #%d[UCI]\n", major, minor, local ;\
  160. !     }\
  161. !       printf "%s.%s.%s.%d\n", major, minor, patch, local > "_version";\
  162. ! }' && mv _version version
  163.   echo '('$LOCAL') of '`date`'";' >> version.c
  164. --- 38,42 ----
  165.  
  166.   rm -f version.c
  167.  
  168. ! (echo $1; cat version ${Patch})|awk -F. -f version.awk && mv _version version
  169.   echo '('$LOCAL') of '`date`'";' >> version.c
  170. *** /dev/null    Sat Sep 12 15:01:35 1992
  171. --- mh-6.7.new/config/version.awk    Sat Sep 12 16:50:50 1992
  172. ***************
  173. *** 0 ****
  174. --- 1,20 ----
  175. + NR == 1    { major = $1; minor = $2; patch = $3 }
  176. + NR == 2 { local = $(NF) }
  177. + NR == 3 { patch = $(NF) }
  178. + END    {
  179. +     local++;
  180. +     if (patch > 0) {
  181. +         printf "char *version = \"MH %s.%s.%s #%d[UCI] ", \
  182. +                major, minor, patch, local > "version.c";
  183. +         printf  ".ds MH %s.%s.%s #%d[UCI]\n", \
  184. +                major, minor, patch, local > "../doc/version.rf";
  185. +         printf "MH %s.%s.%s #%d[UCI]\n", major, minor, patch, local;
  186. +     } else {
  187. +         printf "char *version = \"MH %s.%s #%d[UCI] ", \
  188. +                major, minor, local > "version.c";
  189. +         printf ".ds MH %s.%s #%d[UCI]\n", \
  190. +                major, minor, local > "../doc/version.rf";
  191. +         printf "MH %s.%s #%d[UCI]\n", major, minor, local;
  192. +     }
  193. +     printf "%s.%s.%s.%d\n", major, minor, patch, local > "_version";
  194. + }
  195. *** mh-6.7/h/local.h    Thu Oct 29 17:56:18 1987
  196. --- mh-6.7.new/h/local.h    Thu Aug  6 15:35:06 1992
  197. ***************
  198. *** 6,19 ****
  199.   #include <sys/param.h>
  200.   #endif    BSD42
  201.  
  202. ! #ifndef    BSD42
  203.   #ifndef NDIR
  204.   #include <dir.h>
  205.   #else    NDIR
  206.   #include <ndir.h>
  207.   #endif  NDIR
  208. ! #else    BSD42
  209.   #include <sys/dir.h>
  210. ! #endif    BSD42
  211.  
  212.   #include <sys/stat.h>
  213. --- 6,23 ----
  214.   #include <sys/param.h>
  215.   #endif    BSD42
  216.  
  217. ! #ifndef _AUX_SOURCE
  218. ! #if !defined(BSD42) && !defined(_AIX)
  219.   #ifndef NDIR
  220.   #include <dir.h>
  221.   #else    NDIR
  222.   #include <ndir.h>
  223.   #endif  NDIR
  224. ! #else    BSD42 || _AIX
  225.   #include <sys/dir.h>
  226. ! #endif    BSD42 || _AIX
  227. ! #else _AUX_SOURCE
  228. ! #include <sys/dir.h>
  229. ! #endif    _AUX_SOURCE
  230.  
  231.   #include <sys/stat.h>
  232. *** mh-6.7/h/mh.h    Thu Jan 23 19:03:59 1992
  233. --- mh-6.7.new/h/mh.h    Thu Aug  6 15:36:26 1992
  234. ***************
  235. *** 344,350 ****
  236.  
  237.   /* miscellaneous */
  238.  
  239. ! #if !defined(BSD42) && !defined(hpux) && !defined(ncr)
  240.   #define    rename(f1,f2)    (link (f1, f2) != NOTOK ? unlink (f1) : NOTOK)
  241.   #endif    not BSD42
  242.  
  243. --- 344,350 ----
  244.  
  245.   /* miscellaneous */
  246.  
  247. ! #if !defined(BSD42) && !defined(hpux) && !defined(ncr) && !defined(_AIX)
  248.   #define    rename(f1,f2)    (link (f1, f2) != NOTOK ? unlink (f1) : NOTOK)
  249.   #endif    not BSD42
  250.  
  251. *** mh-6.7/h/strings.h    Thu Jan 23 18:16:49 1992
  252. --- mh-6.7.new/h/strings.h    Fri Aug  7 10:06:28 1992
  253. ***************
  254. *** 5,17 ****
  255. --- 5,20 ----
  256.   #define    _STRINGS
  257.  
  258.   #ifdef    SYS5
  259. + #ifndef _AIX
  260.   #define    index    strchr
  261.   #define    rindex    strrchr
  262. + #endif !_AIX
  263.   #endif    SYS5
  264.  
  265.   char   *index ();
  266.   char   *mktemp ();
  267.   char   *rindex ();
  268. + #ifndef _AIX
  269.   #ifndef    SPRINTFTYPE
  270.   #ifndef    ncr        /* NCR compiler complains about re-declaration */
  271.   char   *sprintf ();        /* I guess this is the new standard */
  272. ***************
  273. *** 29,34 ****
  274. --- 32,38 ----
  275.  
  276.   char   *getenv ();
  277.   char   *calloc (), *malloc (), *realloc ();
  278. + #endif !_AIX
  279.  
  280.   #ifdef    SYS5
  281.   #include <memory.h>
  282. *** /dev/null    Sat Sep 12 15:01:35 1992
  283. --- mh-6.7.new/sbr/version.awk    Sat Sep 12 16:50:51 1992
  284. ***************
  285. *** 0 ****
  286. --- 1,7 ----
  287. + NR == 1    { major = $1; minor = $2; patch = $3 }
  288. + NR == 2 { compile = $(NF) }
  289. + NR == 3 { if (major != $1) {major = $1; minor = 0};
  290. +       if (minor != $2) {minor = $2; compile = 0}}
  291. + END     { compile++;
  292. +        printf "version: libmh %d.%d.%d\n", major, minor, compile;
  293. +        printf "%d.%d.%d\n", major, minor, compile > "_version";}
  294. *** mh-6.7/sbr/formatsbr.c    Fri Jan 24 13:09:34 1992
  295. --- mh-6.7.new/sbr/formatsbr.c    Fri Aug  7 10:09:44 1992
  296. ***************
  297. *** 96,103 ****
  298.           case '\n':
  299.               break;
  300.  
  301.           case NULL:
  302. !             cp--;    /* fall */
  303.           default:
  304.               *dp++ = *cp;
  305.               break;
  306. --- 96,107 ----
  307.           case '\n':
  308.               break;
  309.  
  310. + #ifdef _AIX
  311. +             case '\0':
  312. + #else
  313.           case NULL:
  314. ! #endif
  315. !         cp--;    /* fall */
  316.           default:
  317.               *dp++ = *cp;
  318.               break;
  319. *** mh-6.7/sbr/makedir.c    Thu Jan 23 18:12:50 1992
  320. --- mh-6.7.new/sbr/makedir.c    Thu Aug  6 16:17:02 1992
  321. ***************
  322. *** 22,27 ****
  323. --- 22,32 ----
  324.   #ifdef    SYS5DIR
  325.   #include <sys/types.h>
  326.   #include <sys/stat.h>
  327. + #ifdef _AIX
  328. + #include <errno.h>
  329. + #include <sys/param.h>
  330. + #include <sys/access.h>
  331. + #endif
  332.   #endif    SYS5DIR
  333.  
  334.   extern int  errno;
  335. *** mh-6.7/sbr/path.c    Tue Feb  6 16:09:03 1990
  336. --- mh-6.7.new/sbr/path.c    Fri Aug  7 11:35:48 1992
  337. ***************
  338. *** 107,113 ****
  339. --- 107,117 ----
  340.       for (cp = f; *cp;)
  341.       if (*cp == '/') {
  342.           switch (*++cp) {
  343. + #ifdef _AIX
  344. +         case '\0':
  345. + #else
  346.           case NULL:
  347. + #endif
  348.               if (--cp > f)
  349.               *cp = NULL;
  350.               break;
  351. *** mh-6.7/support/pop/popd.c    Mon Apr  9 12:45:16 1990
  352. --- mh-6.7.new/support/pop/popd.c    Fri Aug  7 14:13:53 1992
  353. ***************
  354. *** 27,32 ****
  355. --- 27,35 ----
  356.   #ifdef    SIGTSTP
  357.   #include <sys/resource.h>
  358.   #include <sys/wait.h>
  359. + #ifdef _AIX
  360. + #include <sys/m_wait.h>
  361. + #endif
  362.   #endif    SIGTSTP
  363.   #include <netinet/in.h>
  364.   #include <netdb.h>
  365. *** mh-6.7/support/pop/popsbr.c    Mon Apr  9 12:45:18 1990
  366. --- mh-6.7.new/support/pop/popsbr.c    Mon Jan 28 19:01:07 1991
  367. ***************
  368. *** 73,82 ****
  369. --- 73,90 ----
  370.       case OK:
  371.           if (poprint)
  372.           fprintf (stderr, "<--- %s\n", response);
  373. + #ifndef    _AUX_SOURCE
  374.           if (*response == '+'
  375.               && command ("USER %s", user) != NOTOK
  376.               && command ("%s %s", rpop ? "RPOP" : (pophack++, "PASS"),
  377.                       pass) != NOTOK)
  378. + #else    _AUX_SOURCE
  379. +         if (*response == '+'
  380. +             && command ("USER %s", user) != NOTOK
  381. +             && command ("%s %s", rpop ? "RPOP" :
  382. +             (pophack++ - pophack - atoi("1") + "PASS"),
  383. +                     pass) != NOTOK)
  384. + #endif    _AUX_SOURCE
  385.           return OK;
  386.           if (*response != '+') {
  387.           (void) strcpy (buffer, response);
  388. *** mh-6.7/uip/ali.c    Thu Apr  5 19:03:56 1990
  389. --- mh-6.7.new/uip/ali.c    Fri Aug  7 11:47:09 1992
  390. ***************
  391. *** 191,197 ****
  392. --- 191,201 ----
  393.                   pos += 2;
  394.               }
  395.  
  396. + #ifdef _AIX
  397. +         case '\0':
  398. + #else
  399.           case NULL:
  400. + #endif
  401.           break;
  402.  
  403.           default:
  404. *** mh-6.7/uip/aliasbr.c    Thu Apr  5 19:03:33 1990
  405. --- mh-6.7.new/uip/aliasbr.c    Fri Aug  7 10:12:42 1992
  406. ***************
  407. *** 152,158 ****
  408.           case ':':         /* comment */
  409.           case ';':
  410.           case '#':
  411. !         case NULL:
  412.           continue;
  413.       }
  414.  
  415. --- 152,162 ----
  416.           case ':':         /* comment */
  417.           case ';':
  418.           case '#':
  419. ! #ifdef _AIX
  420. !             case '\0':
  421. ! #else
  422. !         case NULL:
  423. ! #endif
  424.           continue;
  425.       }
  426.  
  427. ***************
  428. *** 180,186 ****
  429.       }
  430.  
  431.       switch (*(pp = scanp (ap))) {
  432. !         case NULL:         /* EOL */
  433.           (void) fclose (fp);
  434.           return AK_ERROR;
  435.  
  436. --- 184,194 ----
  437.       }
  438.  
  439.       switch (*(pp = scanp (ap))) {
  440. ! #ifdef _AIX
  441. !             case '\0':      /* EOL */
  442. ! #else
  443. !         case NULL:      /* EOL */
  444. ! #endif
  445.           (void) fclose (fp);
  446.           return AK_ERROR;
  447.  
  448. *** mh-6.7/uip/bbc.c    Thu Apr  5 19:02:56 1990
  449. --- mh-6.7.new/uip/bbc.c    Fri Aug  7 14:25:01 1992
  450. ***************
  451. *** 21,26 ****
  452. --- 21,29 ----
  453.   #include <sys/stat.h>
  454.   #ifdef    SIGTSTP
  455.   #include <sys/wait.h>
  456. + #ifdef _AIX
  457. + #include <sys/m_wait.h>
  458. + #endif
  459.   #include <sys/time.h>
  460.   #include <sys/resource.h>
  461.   #endif    SIGTSTP
  462. *** mh-6.7/uip/msh.c    Thu Apr  5 19:02:57 1990
  463. --- mh-6.7.new/uip/msh.c    Fri Aug  7 10:55:57 1992
  464. ***************
  465. *** 1562,1568 ****
  466. --- 1562,1572 ----
  467.           case '"':
  468.           for (;;) {
  469.               switch (c = *cp++) {
  470. + #ifdef _AIX
  471. +             case '\0':
  472. + #else
  473.               case NULL:
  474. + #endif
  475.                   padvise (NULLCP, "unmatched \"");
  476.                   return NOTOK;
  477.               case '"':
  478. *** mh-6.7/uip/mshcmds.c    Thu Jan 23 17:58:19 1992
  479. --- mh-6.7.new/uip/mshcmds.c    Fri Aug  7 14:09:48 1992
  480. ***************
  481. *** 39,45 ****
  482.   static int    process();
  483.                   /* SORTM */
  484.   static int    msgsort (), subsort();
  485. ! static int    getws ();
  486.   static char    *sosmash ();
  487.  
  488.   /*   */
  489. --- 39,45 ----
  490.   static int    process();
  491.                   /* SORTM */
  492.   static int    msgsort (), subsort();
  493. ! static int    local_getws ();
  494.   static char    *sosmash ();
  495.  
  496.   /*   */
  497. ***************
  498. *** 2502,2508 ****
  499.           Msgs[msgnum].m_scanl = NULL;
  500.       }
  501.       if (mp -> msgstats[msgnum] & SELECTED) {
  502. !         if (getws (datesw, subjsw, msgnum, &Msgs[msgnum]))
  503.           twscopy (&Msgs[msgnum].m_tb,
  504.               msgnum != mp -> lowsel ? &Msgs[msgnum - 1].m_tb : &tb);
  505.       }
  506. --- 2502,2508 ----
  507.           Msgs[msgnum].m_scanl = NULL;
  508.       }
  509.       if (mp -> msgstats[msgnum] & SELECTED) {
  510. !         if (local_getws (datesw, subjsw, msgnum, &Msgs[msgnum]))
  511.           twscopy (&Msgs[msgnum].m_tb,
  512.               msgnum != mp -> lowsel ? &Msgs[msgnum - 1].m_tb : &tb);
  513.       }
  514. ***************
  515. *** 2534,2544 ****
  516.   /*   */
  517.  
  518.   /*
  519. !  * getws - parse message, and get date and subject if needed.  We'll use
  520.    * the msgp->m_tb tws struct for the date, and overload the msgp->m_scanl
  521.    * field with our subject string.
  522.    */
  523. ! static int   getws (datesw, subjsw, msgnum, msgp)
  524.   char   *datesw,
  525.          *subjsw;
  526.   int    msgnum;
  527. --- 2534,2544 ----
  528.   /*   */
  529.  
  530.   /*
  531. !  * local_getws - parse message, and get date and subject if needed.  We'll use
  532.    * the msgp->m_tb tws struct for the date, and overload the msgp->m_scanl
  533.    * field with our subject string.
  534.    */
  535. ! static int   local_getws (datesw, subjsw, msgnum, msgp)
  536.   char   *datesw,
  537.          *subjsw;
  538.   int    msgnum;
  539. *** mh-6.7/uip/popsbr.c    Mon Apr  9 12:47:26 1990
  540. --- mh-6.7.new/uip/popsbr.c    Mon Jan 28 18:47:26 1991
  541. ***************
  542. *** 75,82 ****
  543. --- 75,88 ----
  544.           fprintf (stderr, "<--- %s\n", response);
  545.           if (*response == '+'
  546.               && command ("USER %s", user) != NOTOK
  547. + #ifndef    _AUX_SOURCE
  548.               && command ("%s %s", rpop ? "RPOP" : (pophack++, "PASS"),
  549.                       pass) != NOTOK)
  550. + #else    _AUX_SOURCE
  551. +             && command ("%s %s", rpop ? "RPOP" :
  552. +             (pophack++ - pophack - 1 + "PASS"),
  553. +                     pass) != NOTOK)
  554. + #endif    _AUX_SOURCE
  555.           return OK;
  556.           if (*response != '+') {
  557.           (void) strcpy (buffer, response);
  558. *** mh-6.7/uip/sortm.c    Wed Dec 19 13:02:32 1990
  559. --- mh-6.7.new/uip/sortm.c    Fri Aug  7 14:10:40 1992
  560. ***************
  561. *** 52,58 ****
  562.   int    submajor = 0;        /* if true, sort on subject-major */
  563.   int     verbose;
  564.  
  565. ! static    getws();
  566.   static    int dsort(), read_hdrs (), subsort(), txtsort();
  567.   static void rename_chain(), rename_msgs();
  568.  
  569. --- 52,58 ----
  570.   int    submajor = 0;        /* if true, sort on subject-major */
  571.   int     verbose;
  572.  
  573. ! static    local_getws();
  574.   static    int dsort(), read_hdrs (), subsort(), txtsort();
  575.   static void rename_chain(), rename_msgs();
  576.  
  577. ***************
  578. *** 295,301 ****
  579.       s = smsgs;
  580.       for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) {
  581.       if (mp->msgstats[msgnum] & SELECTED) {
  582. !         if (getws (datesw, msgnum, s)) {
  583.           s->s_msg = msgnum;
  584.           s++;
  585.           }
  586. --- 295,301 ----
  587.       s = smsgs;
  588.       for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) {
  589.       if (mp->msgstats[msgnum] & SELECTED) {
  590. !         if (local_getws (datesw, msgnum, s)) {
  591.           s->s_msg = msgnum;
  592.           s++;
  593.           }
  594. ***************
  595. *** 306,312 ****
  596.   }
  597.  
  598.   static
  599. ! getws (datesw, msg, smsg)
  600.   register char *datesw;
  601.   int msg;
  602.   register struct smsg *smsg;
  603. --- 306,312 ----
  604.   }
  605.  
  606.   static
  607. ! local_getws (datesw, msg, smsg)
  608.   register char *datesw;
  609.   int msg;
  610.   register struct smsg *smsg;
  611. *** mh-6.7/zotnet/bboards/getbbent.c    Tue Aug  6 13:23:18 1991
  612. --- mh-6.7.new/zotnet/bboards/getbbent.c    Fri Aug  7 10:57:32 1992
  613. ***************
  614. *** 646,652 ****
  615. --- 646,656 ----
  616.               hp = item;
  617.               break;
  618.  
  619. + #ifdef _AIX
  620. +         case '\0':
  621. + #else
  622.           case NULL:
  623. + #endif
  624.               if ((cp = rindex (bb -> bb_file, '/')) == NULL || *++cp == NULL)
  625.               (void) strcpy (prf, ""), cp = bb -> bb_file;
  626.               else
  627. *** mh-6.7/zotnet/mf/mf.c    Thu Jan 30 17:40:38 1992
  628. --- mh-6.7.new/zotnet/mf/mf.c    Fri Aug  7 11:45:17 1992
  629. ***************
  630. *** 810,816 ****
  631. --- 810,820 ----
  632.       if (c == '(')
  633.       for (*bp++ = c, i = 0;;)
  634.           switch (c = *cp++) {
  635. + #ifdef _AIX
  636. +         case '\0':
  637. + #else
  638.           case NULL:
  639. + #endif
  640.               cp = NULL;
  641.               return (last_lex = LX_ERR);
  642.           case QUOTE:
  643. ***************
  644. *** 841,847 ****
  645.       if (c == '"')
  646.       for (*bp++ = c;;)
  647.           switch (c = *cp++) {
  648. !         case NULL:
  649.               cp = NULL;
  650.               return (last_lex = LX_ERR);
  651.           case QUOTE:
  652. --- 845,855 ----
  653.       if (c == '"')
  654.       for (*bp++ = c;;)
  655.           switch (c = *cp++) {
  656. ! #ifdef _AIX
  657. !         case '\0':
  658. ! #else
  659. !           case NULL:
  660. ! #endif
  661.               cp = NULL;
  662.               return (last_lex = LX_ERR);
  663.           case QUOTE:
  664. ***************
  665. *** 862,868 ****
  666.       if (c == '[')
  667.       for (*bp++ = c;;)
  668.           switch (c = *cp++) {
  669. !         case NULL:
  670.               cp = NULL;
  671.               return (last_lex = LX_ERR);
  672.           case QUOTE:
  673. --- 870,880 ----
  674.       if (c == '[')
  675.       for (*bp++ = c;;)
  676.           switch (c = *cp++) {
  677. ! #ifdef _AIX
  678. !         case '\0':
  679. ! #else
  680. !           case NULL:
  681. ! #endif
  682.               cp = NULL;
  683.               return (last_lex = LX_ERR);
  684.           case QUOTE:
  685. ***************
  686. *** 965,971 ****
  687. --- 977,987 ----
  688.           pp = NULL;
  689.           return DONE;
  690.  
  691. + #ifdef _AIX
  692. +         case '\0':
  693. + #else
  694.           case NULL:
  695. + #endif
  696.           continue;
  697.  
  698.           case '\n':
  699. *** mh-6.7/zotnet/mts/lock.c    Fri Jan 25 12:46:47 1991
  700. --- mh-6.7.new/zotnet/mts/lock.c    Fri Aug  7 11:42:26 1992
  701. ***************
  702. *** 37,44 ****
  703. --- 37,46 ----
  704.   #define    NULLCP    ((char *) 0)
  705.  
  706.   #ifdef    SYS5
  707. + #ifndef _AIX
  708.   #define    index    strchr
  709.   #define    rindex    strrchr
  710. + #endif
  711.   #endif    SYS5
  712.  
  713.  
  714. *** mh-6.7/zotnet/tws/lexedit.sed    Thu Apr  5 19:06:01 1990
  715. --- mh-6.7.new/zotnet/tws/lexedit.sed    Fri Aug  7 11:04:40 1992
  716. ***************
  717. *** 9,11 ****
  718. --- 9,20 ----
  719.   } }
  720.   /^struct yysvf *yybgin = yysvec+1;$/d
  721.   /^int yylineno /,$d
  722. + /^# define YYTYPE short/c\
  723. + # define YYTYPE int
  724. + /^# define YYTYPE unsigned short/c\
  725. + # define YYTYPE int
  726. + /^unsigned char yymatch\[\] = {/c\
  727. + char yymatch[] = {
  728. + /^unsigned char yyextra\[\] = {/c\
  729. + char yyextra[] = {
  730. + /^if (__once_yylex) {$/,/if(yymbcurmax<=0) yymbcurmax=MB_CUR_MAX;$/d
  731.